Skip to content

Update README with newest features / architecture - #36

Open
luca-della-vedova wants to merge 1 commit into
mainfrom
luca/update_readme
Open

Update README with newest features / architecture#36
luca-della-vedova wants to merge 1 commit into
mainfrom
luca/update_readme

Conversation

@luca-della-vedova

Copy link
Copy Markdown
Member

The README is outdated and can be a bit confusing.
Specifically, the part about ament_cargo vs ros.ament_cargo is just flat out wrong since we started reusing colcon's package identification in #32.
Also testing is supported as of #19

Signed-off-by: Luca Della Vedova <lucadv@intrinsic.ai>
Comment thread README.md

## Usage
Packages need to have a `package.xml` in addition to `Cargo.toml`. You should see such packages classified as `ament_cargo` in the output of `colcon list`. If they are classified as `ros.ament_cargo` instead, the `colcon-ros-cargo` extension has not been found by `colcon`. Make sure that you have built and loaded (`source install/setup.bash`) the extension.
Packages need to have a `package.xml` in addition to `Cargo.toml`. Make sure that you have built and loaded (`source install/setup.bash`) the extension.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you elaborate on this section?

Make sure that you have built and loaded (`source install/setup.bash`) the extension.

As a newcomer to the tool, from the usage described in: https://github.com/ros2-rust/ros2_rust?tab=readme-ov-file#sounds-great-how-can-i-try-this-out

It seems like we source the workspace of Rust crates after we build the ROS workspace. Is my understanding incorrect?

I would expect that we don't have to source anything from colcon-ros-cargo since it's a colcon extension

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's perhaps a bit redundant and more of a general direction about how to install colcon extensions, since for now there are no debian packages this can only be pip installed (with the scary --break-system-packages flag) or put in a colcon workspace and colcon build.
I gave it a quick try and indeed if I have a workspace with this colcon extension and a package that would be built by it (something that is identified as a ros.ament_cargo package named example) the following seem to be true:

  • Doing colcon build --packages-up-to example doesn't build this colcon extension, which makes sense since it's not an explicit dependency I guess.
  • Doing colcon build --packages-select colcon-ros-cargo, followed by colcon build --package-select example does not correctly identify the package, and colcon still reports that it doesn't know how to handle a ros.ament_cargo package.
  • Doing a colcon build --packages-select colcon-ros-cargo, followed by a source install/setup.bash, followed by a colcon build --packages-select example correctly works, suggesting that indeed colcon extensions need to be built and sourced before they can be used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants